﻿Imports Logica

Public Class ModificarMeta

    Private m_codigo As Integer
    Private m_fechaReal As Date
    Private ucConsultarMetas As ConsultarMetas

    Private Sub ModificarMeta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblRetroalimentacion.Text = ""
        lblFechaReal.Visible = False
        dtpFechaReal.Visible = False

    End Sub

    ''' <summary>
    ''' Cosntructor Sobrecargado.
    ''' </summary>
    ''' <param name="p_codigo">Codigo</param>
    ''' <param name="p_codigoEmpleado">Codigo Empleado.</param>
    ''' <param name="p_descripcion">Descripcion.</param>
    ''' <param name="p_fechaInicio">Fecha de inicio.</param>
    ''' <param name="p_fechaEsperada">Fecha Esperada.</param>
    ''' <param name="p_fechaReal">Fecha real.</param>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 15/06/2010, Modificado: 18/06/2010</remarks>
    Public Sub New(ByVal p_codigo As Integer, ByVal p_codigoEmpleado As String, ByVal p_descripcion As String, ByVal p_fechaInicio As Date, ByVal p_fechaEsperada As Date, ByVal p_fechaReal As Date)

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        txtCodigoEmpleado.Text = p_codigoEmpleado
        txtCodigoEmpleado.ReadOnly = True
        txtDescripcion.Text = p_descripcion
        dtpFechaInicio.Text = p_fechaInicio
        dtpFechaEsperada.Text = p_fechaEsperada
        m_codigo = p_codigo
        m_fechaReal = p_fechaReal

    End Sub

    Public Sub New()

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.

    End Sub

    ''' <summary>
    ''' Accion del boton de aceptar.
    ''' </summary>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 15/06/2010, Modificado: 18/06/2010</remarks>
    Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click
        Dim fechaEsperada As New Date
        Dim fechaInicio As New Date
        Dim fechaReal As New Date


        If txtDescripcion.Text = "" Or txtDescripcion.Text.Trim = "" Then
            txtDescripcion.Focus()
            lblRetroalimentacion.ForeColor = Color.Red
            lblRetroalimentacion.Text = "El campo '" & txtDescripcion.Tag & "' está vacío."
            Exit Sub
        End If
        
        fechaInicio = dtpFechaInicio.Text
        fechaEsperada = dtpFechaEsperada.Text
        If chkFechaReal.Checked Then
            fechaReal = dtpFechaReal.Text
        Else
            fechaReal = m_fechaReal
        End If



        If (fechaEsperada > fechaInicio And fechaReal > fechaInicio) Or (fechaEsperada > fechaInicio And chkFechaReal.Checked = False) Then
            Try
                Gestor.modificarMeta(m_codigo, txtDescripcion.Text, dtpFechaInicio.Text, _
                                     dtpFechaEsperada.Text, dtpFechaReal.Text)
                lblRetroalimentacion.ForeColor = Color.Green
                lblRetroalimentacion.Text = "Se ha modificado con éxito."
                txtDescripcion.Text = ""
            Catch sqlEx As SqlClient.SqlException
                lblRetroalimentacion.ForeColor = Color.Red
                lblRetroalimentacion.Text = "Error de conexión."
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        Else
            lblRetroalimentacion.ForeColor = Color.Red
            lblRetroalimentacion.Text = "La fecha esperada y la fecha real no pueden ser anteriores a la fecha inicio."
        End If


    End Sub
    ''' <summary>
    ''' Limpia los campos modificables
    ''' </summary>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 28/06/2010 Modificado: 28/06/2010</remarks>
    Private Sub btnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
        txtDescripcion.Text = ""
        lblRetroalimentacion.Text = ""
    End Sub
    ''' <summary>
    ''' Retorna a la pantalla anterior.
    ''' </summary>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 28/06/2010 Modificado: 28/06/2010</remarks>
    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Dim usuario As Usuarios
        Dim ubicacion As New Point(152, 0)

        ucConsultarMetas = New ConsultarMetas(txtCodigoEmpleado.Text)
        ucConsultarMetas.Location = ubicacion

        usuario = Me.Parent
        usuario.Controls.Add(ucConsultarMetas)
        usuario.mostrar(ucConsultarMetas)
        usuario.tvUsuarios.SelectedNode = usuario.tvUsuarios.Nodes("ndConsultarUsuario")
    End Sub
    ''' <summary>
    ''' Accion de cambio del campo de asignar fecha real.
    ''' </summary>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 28/06/2010 Modificado: 28/06/2010</remarks>
    Private Sub chkFechaReal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkFechaReal.CheckedChanged

        If chkFechaReal.Checked Then
            dtpFechaReal.Visible = True
            lblFechaReal.Visible = True
        End If

        If Not chkFechaReal.Checked Then
            dtpFechaReal.Visible = False
            lblFechaReal.Visible = False
        End If
    End Sub
End Class
